package org.zjt.proxy.jdk;


import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;

/**
 * Created by zhangjuntao on 2017/3/22.
 *
     * 1、Proxy 生成Proxy 并实现 接口的包装类。
     * 2、Proxy 实例化，将invokeHandler 作为属性传入。
     * 3、执行Proxy方法时候，利用反射执行invokeHandler中的方法。
 */
public class DynamicProxy implements InvocationHandler{

    //proxy代理类的实例
    @Override
    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {

        System.out.println(targer.toString()   + "  执行 ");


        return method.invoke(targer , args);
    }

    //被代理的实例
    private Object targer;

    public DynamicProxy(Object targer) {
        this.targer = targer;
    }
}
